# Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
# except in compliance with the License. A copy of the License is located at
#
#    http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is distributed on an "AS IS"
# BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under the License.

#!/bin/bash
maxcpu="<%= node['cpulimit']['cpu-limit'] %>"

while [ 1 ]
do
  for pid in `ps axf | grep ruby | grep -v grep | awk '{print $1}'`
  do
    cpuutilization="$(ps -eo pid,%cpu | grep $pid | grep -v grep |  awk '{print $2}')"

    if [ $cpuutilization > $maxcpu".0" ]
    then
      cpulimit="$(which cpulimit)"
      resp="$($cpulimit -l $maxcpu -p $pid)"
    fi
  done

  sleep 1
done
